﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x0200052C RID: 1324
	public class CVRRenderModels
	{
		// Token: 0x06001C6C RID: 7276 RVA: 0x00011ED7 File Offset: 0x000100D7
		internal CVRRenderModels(IntPtr pInterface)
		{
			this.FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels));
		}

		// Token: 0x06001C6D RID: 7277 RVA: 0x00060970 File Offset: 0x0005EB70
		public EVRRenderModelError LoadRenderModel_Async(string pchRenderModelName, ref IntPtr ppRenderModel)
		{
			return this.FnTable.LoadRenderModel_Async(pchRenderModelName, ref ppRenderModel);
		}

		// Token: 0x06001C6E RID: 7278 RVA: 0x00011EFA File Offset: 0x000100FA
		public void FreeRenderModel(IntPtr pRenderModel)
		{
			this.FnTable.FreeRenderModel(pRenderModel);
		}

		// Token: 0x06001C6F RID: 7279 RVA: 0x00060994 File Offset: 0x0005EB94
		public EVRRenderModelError LoadTexture_Async(int textureId, ref IntPtr ppTexture)
		{
			return this.FnTable.LoadTexture_Async(textureId, ref ppTexture);
		}

		// Token: 0x06001C70 RID: 7280 RVA: 0x00011F0D File Offset: 0x0001010D
		public void FreeTexture(IntPtr pTexture)
		{
			this.FnTable.FreeTexture(pTexture);
		}

		// Token: 0x06001C71 RID: 7281 RVA: 0x000609B8 File Offset: 0x0005EBB8
		public EVRRenderModelError LoadTextureD3D11_Async(int textureId, IntPtr pD3D11Device, ref IntPtr ppD3D11Texture2D)
		{
			return this.FnTable.LoadTextureD3D11_Async(textureId, pD3D11Device, ref ppD3D11Texture2D);
		}

		// Token: 0x06001C72 RID: 7282 RVA: 0x000609DC File Offset: 0x0005EBDC
		public EVRRenderModelError LoadIntoTextureD3D11_Async(int textureId, IntPtr pDstTexture)
		{
			return this.FnTable.LoadIntoTextureD3D11_Async(textureId, pDstTexture);
		}

		// Token: 0x06001C73 RID: 7283 RVA: 0x00011F20 File Offset: 0x00010120
		public void FreeTextureD3D11(IntPtr pD3D11Texture2D)
		{
			this.FnTable.FreeTextureD3D11(pD3D11Texture2D);
		}

		// Token: 0x06001C74 RID: 7284 RVA: 0x00060A00 File Offset: 0x0005EC00
		public uint GetRenderModelName(uint unRenderModelIndex, StringBuilder pchRenderModelName, uint unRenderModelNameLen)
		{
			return this.FnTable.GetRenderModelName(unRenderModelIndex, pchRenderModelName, unRenderModelNameLen);
		}

		// Token: 0x06001C75 RID: 7285 RVA: 0x00060A24 File Offset: 0x0005EC24
		public uint GetRenderModelCount()
		{
			return this.FnTable.GetRenderModelCount();
		}

		// Token: 0x06001C76 RID: 7286 RVA: 0x00060A44 File Offset: 0x0005EC44
		public uint GetComponentCount(string pchRenderModelName)
		{
			return this.FnTable.GetComponentCount(pchRenderModelName);
		}

		// Token: 0x06001C77 RID: 7287 RVA: 0x00060A64 File Offset: 0x0005EC64
		public uint GetComponentName(string pchRenderModelName, uint unComponentIndex, StringBuilder pchComponentName, uint unComponentNameLen)
		{
			return this.FnTable.GetComponentName(pchRenderModelName, unComponentIndex, pchComponentName, unComponentNameLen);
		}

		// Token: 0x06001C78 RID: 7288 RVA: 0x00060A88 File Offset: 0x0005EC88
		public ulong GetComponentButtonMask(string pchRenderModelName, string pchComponentName)
		{
			return this.FnTable.GetComponentButtonMask(pchRenderModelName, pchComponentName);
		}

		// Token: 0x06001C79 RID: 7289 RVA: 0x00060AAC File Offset: 0x0005ECAC
		public uint GetComponentRenderModelName(string pchRenderModelName, string pchComponentName, StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen)
		{
			return this.FnTable.GetComponentRenderModelName(pchRenderModelName, pchComponentName, pchComponentRenderModelName, unComponentRenderModelNameLen);
		}

		// Token: 0x06001C7A RID: 7290 RVA: 0x00060AD0 File Offset: 0x0005ECD0
		public bool GetComponentState(string pchRenderModelName, string pchComponentName, ref VRControllerState_t pControllerState, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState)
		{
			return this.FnTable.GetComponentState(pchRenderModelName, pchComponentName, ref pControllerState, ref pState, ref pComponentState);
		}

		// Token: 0x06001C7B RID: 7291 RVA: 0x00060AF8 File Offset: 0x0005ECF8
		public bool RenderModelHasComponent(string pchRenderModelName, string pchComponentName)
		{
			return this.FnTable.RenderModelHasComponent(pchRenderModelName, pchComponentName);
		}

		// Token: 0x06001C7C RID: 7292 RVA: 0x00060B1C File Offset: 0x0005ED1C
		public uint GetRenderModelThumbnailURL(string pchRenderModelName, StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError)
		{
			return this.FnTable.GetRenderModelThumbnailURL(pchRenderModelName, pchThumbnailURL, unThumbnailURLLen, ref peError);
		}

		// Token: 0x06001C7D RID: 7293 RVA: 0x00060B40 File Offset: 0x0005ED40
		public uint GetRenderModelOriginalPath(string pchRenderModelName, StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError)
		{
			return this.FnTable.GetRenderModelOriginalPath(pchRenderModelName, pchOriginalPath, unOriginalPathLen, ref peError);
		}

		// Token: 0x06001C7E RID: 7294 RVA: 0x00060B64 File Offset: 0x0005ED64
		public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error)
		{
			IntPtr ptr = this.FnTable.GetRenderModelErrorNameFromEnum(error);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x040010F9 RID: 4345
		public IVRRenderModels FnTable;
	}
}
